function loadBookSpecialInfo()
{	
	Packages.system.display.Progress.createInstance(Packages.system.mlf.GateKeeper.scanElement(this._name, "bookInfoContainer"));
	// Create a RequestCommand to fetch a vo.BookSpcialInfo
	if (bookId!=null)
		Packages.modula.RequestCommand.request("HTTP", "restlet/books/"+bookId, null, Packages.model.vo.BookView, displayMode.bookInfo, this, {container:"bookInfoContainer", dynamicPortlet:dynamicPortletArr.bookInfo});

	dynamicPortletArr.bookInfo="bookSpecialInfo";
}

function onBookSpecialInfoInit()
{	
	// create the sample code for the progress component
	 var bookInfoPortlet=Packages.system.mlf.GateKeeper.scanElement(this._name, "bookInfoContainer");
	// Packages.system.display.Progress.createInstance(bookInfoPortlet);
	Packages.system.render.Transition.irisType1(bookInfoPortlet);
	
	var evtTargetArr:Array=new Array();
	evtTargetArr.push(Packages.system.mlf.GateKeeper.scanElement(this._name, "bookRecommendSpot"));
	evtTargetArr.push(Packages.system.mlf.GateKeeper.scanElement(this._name, "bookFavoriteSpot"));
	evtTargetArr.push(Packages.system.mlf.GateKeeper.scanElement(this._name, "bookExpectSpot"));
	evtTargetArr.push(Packages.system.mlf.GateKeeper.scanElement(this._name, "bookModifySpot"));
	Packages.system.events.StateFulButtonEvent.initialize(evtTargetArr);
}